A computer system may be used to perform a specific set of functions for any number of applications, such as an accounting system, a video production system, a hazardous chemical monitoring system, a docketing system, or a tracking system. For any computing application, software source code must be developed.
One software development method is object-oriented programming. In many object-oriented programs, two types of objects must be developed: interface objects and business objects. Interface objects, such as windows, dialogs, list boxes, menus, and buttons, allow a user of a computing application to interact with the application for any of a variety of reasons, such as to retrieve or view information, enter data, and give commands to the application. Business objects represent objects or items which are controlled or managed by the computing application. For example, in an application for an accounting system, business objects may represent an accounting entry, an asset, a liability, an account, or an interest payment. In addition, business objects may also represent actions that can be performed on a item. For example, in a computing application for a video production system, a business object may include the action of directing a video camera to zoom in on a scene. The interface objects with which a human operator interacts (e.g., a button on a dialog box) must then be related to the actions of the business objects (e.g., zooming a camera).
The process of manually producing source code for business and interface objects is time-consuming and inefficient. For example, to construct a dialog (an interface object) that requires or uses information relating to a business object, the human coder or programmer must include multiple parameters in an appropriate order in all declarations, definitions, and calls where that dialog is used. Otherwise, the source code will not function as desired. Furthermore, even when the human programmer is consistent in the use of declarations and definitions for one version of source code, consistency cannot be guaranteed for other versions. Specifically, if a declaration or definition is changed, the human programmer is required to manually change the declaration or definition throughout all sections of the source code.
Various software programs, commonly referred to as code generators, have been developed to facilitate the generation of source code for computing applications, thereby increasing the efficiency of a human programmer and improving the accuracy of the source code. Many code generators allow the programmer to develop interface resources, and to provide information about the links among interface objects, such as, for example, linking a specific dialog to a button so that the dialog appears when the button is "pressed" by a user of the computing application. One such code generator is ObjectDesigner.TM., available from ImageSoft Corporation, Port Washington, N.Y. Such code generators do not provide a way for the human programmer to provide information about the business objects associated with the dialogs. Because the source code generated by prior code generators does not include such information, the utility of the source code is limited.